package n05;
public class N02 extends N01 { //B类继承自A类
	private int a, b; //a将隐藏父类中同名的数据成员
	public N02(int a, int b) {
		//父类的数据由父类的构造方法进行初始化，子类的数据由子类来进行初始化
		//调用父类的构造方法，必须为第一条语句
		//若省略，编译器会自动添加无参数的super()方法, 
		super(a);
		//初始化子类的数据成员
		this.a = a;
		this.b = b;
		System.out.println("子类N02的构造方法，参数a=" + a + ", b=" + b);
	}
	@Override
	public void f() { //f()将“覆盖”父类中同名的方法
		super.a = a + b; //利用super调用父类成员，该成员应是public或protected，不能是private
		super.f(); //若需要，可以利用super调用父类中覆盖的方法
		System.out.println("子类N02的f()方法, a=" + a + ", b=" + b);
	}
	public void f2() { //新增的方法
		System.out.println("子类N02的f2()方法, a=" + a + ", b=" + b);
	}
}
